1. Field of the Invention
The present invention relates to an image processing unit for generating three-dimensional computer graphics and, more particularly, an image processing unit for performing the image processing in parallel by using a plurality of computers, an image processing system using this image processing unit, and an image processing method.
2. Description of the Related Art
The image process in which characters, still pictures, and moving pictures (animation) are processed by the computer is a process to take a very heavy load because of the size of image data. Therefore, the image process such as the rendering process, or the like need an expensive equipment such as a super computer, a high end workstation, etc.
Meanwhile, the image process in which a three-dimensional object is divided into polygons and then the drawing is performed using such polygons as a process unit can be achieved as a low cost system. However, if it is tried to draw an image which has a good surface quality with the high definition, reflection and refraction of the ray, motion of particles of the smoke, etc. must be reproduced. In other words, in order to draw the object as if it exists actually in a three-dimensional space, while taking account of arrangement of the object (a part of the remotely located object is hidden by a nearly located object), adjustment of the ray (portions faced to the light source are bright, but portions located oppositely to the light source are dark), quality of material on the object (the specular surface can reflect the ray emitted from the light source, but the transparent object can transmit the ray), etc., it must be calculated how the object can be seen based on above circumstances. As a result, an expensive system or an enormous computing time are needed after all.
In recent years, it has been strongly desired that the three-dimensional graphics having the good surface quality with the high definition, which have not been achieved up to now unless the expensive super computer or the expensive workstation is employed, should be implemented by the low cost system.
The present invention has been made in view of the above circumstances, and it is an object of the present invention to provide an image processing unit which is capable of achieving a higher speed and a higher efficiency in a rendering process and also implementing a low cost system.
It is another object of the present invention to provide an image processing system which includes a plurality of image processing units which can achieve a higher speed and a higher efficiency in an image process, and implements a low cost system.
It is still another object of the present invention to provide an image processing method which is capable of achieving a higher speed and a higher efficiency in a rendering process and also implementing a low cost system.
In order to achieve the above objects, a first aspect of the present invention is that an image processing unit comprises a main storing portion for storing information of three-dimensional objects; a plurality of calculating portions for processing images based on three-dimensional object information which are read from the main storing portion; and a hierarchical storing portion having a plurality of hierarchies, and connected between the main storing portion and the plurality of calculating portions to store a part of information at a lower level into a higher level sequentially; wherein image processing by the plurality of calculating portions are performed in parallel.
A second aspect of the present invention is that, in the image processing unit according to the first aspect, the information of the three-dimensional object are stored in the main storing portion in a situation that a space containing the three-dimensional object is divided into a plurality of small spaces which are composed of the plurality of hierarchies. And, the three-dimensional object exists in a four-dimensional space which is defined by three-dimensional coordinate axes and a time axis, and is composed of at least one of a first plane figure defined by a plurality of points, a first solid figure defined by a combination of a plurality of second plane figures defined by a plurality of points, and a second solid figure defined by at least one function.
A third aspect of the present invention is that, in the image processing unit according to the first aspect, a storing portion constituting an uppermost level of the hierarchical storing portion is a plurality of dependent storing portions which are dependent on corresponding calculating portions and can be rapidly accessed. And, each of data areas of the dependent storing portions are logically or physically divided into an area for storing a hierarchical structure of a three-dimensional space and an area for storing the information of the three-dimensional object. Also, each of data areas of the dependent storing portions are physically divided into a first area for storing a hierarchical structure of a three-dimensional space and a second area for storing the information of the three-dimensional object, and the second area includes a memory portion for holding the information of the three-dimensional object, a table portion for indicating arrangement of the information of the three-dimensional object in the memory portion, and a control portion for replacing a part of the memory portion with a part of the main memory unless the information of the three-dimensional object requested by the corresponding calculating portions do not exist in the memory portion, and then reading requested information of the three-dimensional object.
A fourth aspect of the present invention is that, in the image processing unit according to the first aspect, the communication media which connects the plurality of image processing units mutually includes a queue means for combining these access requests if the plurality of calculating portions issue access requests to a same or neighboring access area.
A fifth aspect of the present invention is that an image processing method of executing intersection decision between a half-line passing from a viewpoint to one pixel on a screen and a three-dimensional object and executing an image process of the pixel based on a result of the intersection decision, comprises a first step of selecting one of a plurality of three-dimensional objects in a three-dimensional space and acquiring information of a selected three-dimensional object; a second step of executing the intersection decision of all pixels on the screen based on acquired information; and a third step of applying the first step and the second step to all three-dimensional objects in the three-dimensional space.
A sixth aspect of the present invention is that an image processing method of generating a continuous image of a three-dimensional object, comprises the steps of dividing one frame of a screen on which the continuous image is displayed; allocating a plurality of divided areas to a plurality of calculating portions; processing allocated areas in parallel by the plurality of calculating portions; and dividing one succeeding frame in response to a result of the process such that respective processing times of the plurality of calculating portions are made equal.
A seventh aspect of the present invention is that an image processing method of generating an image of a three-dimensional object, comprises the steps of dividing a screen on which the image is displayed; allocating a plurality of divided areas to a plurality of calculating portions; and parallel-processing allocated areas by the plurality of calculating portions; wherein, in the parallel-processing step, the calculating portion which has completed the process in an allocated area processes an unfinished area allocated to another calculating portion.